{\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\froman\fcharset0 Times New Roman;}}
{\colortbl ;\red255\green0\blue0;\red0\green176\blue80;\red0\green0\blue255;\red102\green102\blue102;\red0\green77\blue187;}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\nowidctlpar\qc\cf1\lang22\ul\b\f0\fs22 Yii\cf0\b0\par
\pard\nowidctlpar\ulnone\b Iniciando arquivos do Yii\par
\par
\b0 Criar uma pasta dentro no servidor local. Ex.: meusegundoyii\par
Abra o prompt(cmd) e digite o comando abaixo com o caminho da pasta Yii e o caminho da pasta onde ficar\'e1 a aplica\'e7\'e3o do mesmo.\par
\par
D:\\www\\yii\\framework\\yiic webapp D:\\www\\meuterceiroyii\par
\par
\par
\b\par
Conectando com banco de dados\b0\par
\par
V\'e1 no caminho: WebRoot/testdrive/protected/config/main.php\par
1 - E escolha qual banco de dados deseja usar. Se for o MYSQL, descomente-o e comente o \par
SQLlite.\par
2 - \par
\cf2\tab /*'db'=>array(\par
\tab\tab 'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',\par
\tab ),*/\par
\par
\tab // uncomment the following to use a MySQL database\par
\tab\tab\par
\tab 'db'=>array(\par
\tab\tab 'connectionString' => 'mysql:host=localhost;dbname=\cf1 NOMEDOBANCO\cf2 ',\par
\tab\tab 'emulatePrepare' => true,\par
\tab\tab 'username' => 'root',\par
\tab\tab 'password' => 'hamy',\par
\tab\tab 'charset' => 'utf8',\par
\tab ),\par
\par
\par
\cf0\b Criar as tabelas do banco de dados que voc\'ea precisar\par
\par
\b0 CREATE TABLE User (\par
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,\par
    username VARCHAR(128) NOT NULL,\par
    password VARCHAR(128) NOT NULL,\par
    email VARCHAR(128) NOT NULL\par
);\par
\par
\b\par
\par
URL Amig\'e1vel\par
\par
\b0 Descomentar no main,\b  \cf2\b0 urlManager\par
\pard\cf0\b{\field{\*\fldinst{HYPERLINK "http://localhost/meuprimeiroyii/index.php/gii"}}{\fldrslt{\ul\cf3 http://localhost/meuprimeiroyii/index.php/gii}}}\f0\fs22\par
\par
\par
\par
Acessar o gii\par
\par
\b0 Descomentar o gii, e colocar a senha no PASSWORD.\par
\par
\par
\par
\b Model Generator \par
\cf4\b0 obs: tem que ser gerado de todas as entidades, somento o CRUD que n\'e3o \'e9 necessario gerar de todas.\cf0\par
\par
prefix, tem que utilizar \ul underline\ulnone\par
nome da tabela do banco(sem \ul underline\ulnone )\par
nome da classe\par
\par
\b Crud Generator\b0\par
\par
Criar um crud.(na tela do model generator)\par
depois na url colocar o nome do crud(index.php/user)\par
obs:Nem todas as tabelas tem que conter um CRUD. Ex.: se desejar fazer um cadastro com 2 campos, nome e endere\'e7o. Voc\'ea pode simplesmente jogar endere\'e7o para dentro de nome.\par
\par
\b Acessar a view para visualiza\'e7\'e3o.\par
\b0\par
\cf5\b htp://easyweb/desenvolvimento/nahora/index.php/\cf1 tipousuario\cf5 /admin\b0\par
\cf0\par
\par
\pard\qc\cf1\ul\b\par
\par
Comandos e fun\'e7\'f5es especiais\par
\pard\cf0\ulnone\par
Alterar create(\'e1rea do usu\'e1rio)\par
\b0 _form\par
\par
\b Alterar manege(\'e1rea do admin)\par
\b0 _search\b\par
\par
Label(altera\'e7\'e3o)\par
\b0 Entrar no MODEL da tabela desejada, depois ir em "attributeLabels".\b\par
\par
Dropdown Simples\par
\cf2\b0         <div class="row">\par
                <?php echo $form->labelEx($model,'estadocivil'); ?>\par
                <?php echo $form->dropDownList($model,'estadocivil',array('0'=>'--Selecione--', \tab\tab  \tab '1'=>'Solteiro(a)','2'=>'Casado(a)','3'=>'Desquitado(a)','4'=>'Vi\'favo\tab      \tab\tab  (a)')); ?>\par
                <?php echo $form->error($model,'estadocivil'); ?>\par
        </div>\cf0\par
\b\par
Dropdown Vindo do Banco\par
\b0 Neste caso o DROPDOWN est\'e1 vindo diretamente do banco. Neste caso h\'e1 apenas uma tabela principal com o CRUD, e "idcidade" \'e9 uma chave estrangeira dessa tabela principal. Da\'ed o campo "idcidade" j\'e1 existe, ent\'e3o vamos apenas alterar o textfield para dropdown list. Sendo assim sendo mais simples pois n\'e3o precisar\'e1 fazer a jun\'e7\'e3o de 2 CRUD's.\b\par
\par
      \par
\cf2\b0         <div class="row idcidade">\par
            <?php echo $form->label($model, 'idcidade'); ?>\par
            <?php\par
            $idcidade = CepCidade::model()->findAll(array('order' => 'nom_cidade ASC'));\par
            $idcidade = CHtml::listData($idcidade, 'idcidade', 'nom_cidade');\par
\par
            echo $form->dropDownList($model, 'idcidade', $idcidade,\par
                    array(\par
                        'prompt' => 'Selecione uma cidade',\par
                    )\par
            );\par
            ?>\par
            <?php echo $form->error($model, 'idcidade'); ?>\par
        </div>\cf0\b\par
\par
Inserindo valor no banco pelo controler (create)\par
\pard\sb100\sa100\cf2\lang1046\b0\f1\fs24 $model->datahora(nome atributo do banco) = date("Y-m-d H:i:s");\par
\pard\cf0\lang22\b\f0\fs22\par
Imprimindo valor do banco _form\par
\cf2\b0 <?php echo $model->idprioridade; ?>\par
\cf0\b\par
Inserindo valor de uma tabela(create)\par
\cf2\b0  $model->idassociacao = Yii::app()->user->idassociacao;\b\par
\cf0\par
Fazendo query\par
\cf2\b0 public function findMaternidadeAssociacao($idassociacao, $idmaternidade)\par
        \{\par
            $sql = "SELECT idmaternidadeassociacao FROM `maternidadeassociacao` WHERE \tab `idassociacao` = $idassociacao and `idmaternidade` = $idmaternidade";\par
            $id_m_a = Maternidadeassociacao::model()->findAllBySql($sql);\par
            return $id_m_a[0]->idmaternidadeassociacao;\par
        \}\par
\cf0\b\par
\par
Radio Button\par
\cf2\b0    <div class="row">\par
                <?php echo $form->labelEx($model,'estadocivil'); ?>\par
                <?php echo $form->radioButtonList($model,'estadocivil',array\tab\tab\tab  \tab\tab               ('m'=>'Male','f'=>'Female'),array('separator'=>'', 'labelOptions'=>array\tab\tab\tab               ('style'=>'display:inline;margin-right:10px;'))); ?>\par
                <?php echo $form->error($model,'estadocivil'); ?>\par
        </div>\cf0\par
\par
\b Instanciando um objeto\par
\b0 Ao inves de se usar o jeito tradicional:\par
\cf2 $obj = new Banana;\cf0\par
\par
Usar este:\par
\cf2 Banana::model()->findMaternidadeAssociacao\cf0\par
\b\par
\par
Validar com Yii\b0\par
meuprimeiroyii/protected/model/user.php\par
\cf2 public function rules()\{...........\par
\cf0\par
\par
\b Regras de permiss\'e3o\b0\par
nos controllers voc\'ea decide qual usu\'e1rio deve acessar quais tipos de p\'e1ginas.\par
@ = todos os usuarios logados acessam todas as paginas\par
* = todos os usuarios logados ou n\'e3o logados acessam todas as p\'e1ginas.\par
\par
\cf5 public function accessRules()\par
\tab\{\par
                $idtipousuario = Yii::app()->user->idtipousuario;\par
\par
                $tipousuario = Tipousuario::model()->findByPk($idtipousuario);\par
                $tipo = $tipousuario->tip_descricao;\par
\par
                $adm = 'nouser';\par
                $emp = 'nouser';\par
                $cli = 'nouser';\par
\par
\par
                if ($tipo == 'administrador')\par
                \{\par
                    $adm = Yii::app()->user->name;\par
                \}\par
                else if ($tipo == 'empresa')\par
                \{\par
                    $emp = Yii::app()->user->name;\par
                \}\par
                else if ($tipo == 'cliente')\par
                \{\par
                    $cli = Yii::app()->user->name;\par
                \}\par
\par
\par
\tab\tab return array(\par
\tab\tab\tab array('allow',  // allow all users to perform 'index' and 'view' actions\par
\tab\tab\tab\tab 'actions'=>array('index','view'),\par
\tab\tab\tab\tab 'users'=>array('*',$adm),\par
\tab\tab\tab ),\par
\tab\tab\tab array('allow', // allow authenticated user to perform 'create' and 'update' actions\par
\tab\tab\tab\tab 'actions'=>array('create','update'),\par
\tab\tab\tab\tab 'users'=>array('@',$adm),\par
\tab\tab\tab ),\par
\tab\tab\tab array('allow', // allow admin user to perform 'admin' and 'delete' actions\par
\tab\tab\tab\tab 'actions'=>array('admin','delete'),\par
\tab\tab\tab\tab 'users'=>array('admin',$adm),\par
\tab\tab\tab ),\par
\par
\tab\tab\tab array('deny',  // deny all users\par
\tab\tab\tab\tab 'users'=>array('*',$adm),\par
\tab\tab\tab ),\par
\tab\tab );\par
\tab\}\par
}
 